﻿/*
 * Rappelz: Endless Odyssey - The first free open source Rappelz server emulator
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Rappelz.GameServer
{
    public class FieldPropBase
    {
        public enum LimitFlag : int
        {
            Deva = 0x4,
            Asura = 0x8,
            Gaia = 0x10,
            Fighter = 0x400,
            Hunter = 0x800,
            Magician = 0x1000,
            Summoner = 0x2000,
        }

        public enum ActivateCheckType : int
        {
            Item = 1,
            Quest = 2,
            Skill = 3,
            Wear = 4,
            Summon = 5,
            Prop = 6,
            Member = 7,
            ExistNearMob = 11,
            NonExistNearMob = 12,
            OwnTacticalPosition = 13,
        }

        public class DropItemInfo
        {
            public int code;                                        // 0x0
            public int ratio;                                       // 0x4
            public int min_count;                                   // 0x8
            public int max_count;                                   // 0xC
            public int min_level;                                   // 0x10
            public int max_level;                                   // 0x14
        }


        public uint nPropId;                                        // 0x0
        public int nPropTextId;                                     // 0x4
        public int nType;                                           // 0x8
        public int nLocalFlag;                                      // 0xC
        public uint nCastingTime;                                   // 0x10
        public int nUseCount;                                       // 0x14
        public uint nRegenTime;                                     // 0x18
        public uint nLifeTime;                                      // 0x1C
        public int nMinLevel;                                       // 0x20
        public int nMaxLevel;                                       // 0x24
        public int nLimit;                                          // 0x28
        public int nLimitJobId;                                     // 0x2C
        public int[] nActivateId = new int[2];                      // 0x30
        public int[,] nActivateValue = new int[2, 2];               // 0x38
        public int nActivateSkillId;                                // 0x48
        public DropItemInfo[] drop_info = new DropItemInfo[2];      // 0x4C
        public string strScript;                                    // 0x7C
    }
}
